iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
Software Development

C# 學習之路系列 第 29

[DAY28] C#基礎與實作(WinForms開發-常用功能與實作練習)

  • 分享至 

  • xImage
  •  

C# 程式基礎

WinForms開發-常用功能與實作練習:

  

常用功能:

  • 隱藏/顯示Form標題欄:

    • 隱藏Form標題欄:

      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
      

      https://ithelp.ithome.com.tw/upload/images/20231011/20163217CXjvc3Fn6X.png

    • 顯示Form標題欄:

      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
      //除了None之外很多選項都可以
      
  • 隱藏/顯示Tabpage:
    以下為示意圖,tabControl1 為TabControl的Name
    https://ithelp.ithome.com.tw/upload/images/20231011/20163217YfQr46nkwF.png]

    • 隱藏Tabpage:

      this.tabPage2.Parent = null;
      //將Parent設為null 即可隱藏
      

      https://ithelp.ithome.com.tw/upload/images/20231011/20163217w10wCiUypN.png

    • 顯示Tabpage:

      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
      //除了None之外很多選項都可以
      

實作練習:

  • 設計功能:
    • 預期從程式執行顯示硬碟空間大小
    • 設計草稿:
      • 草稿1:
        https://ithelp.ithome.com.tw/upload/images/20231011/20163217drvwoDGKkz.png
  • 程式實作:
    1. 建立 WinForms 專案:
      首先,需要在Visual Studio中建立一個新的WinForms應用程式專案。將所需要的UI介面工具先建立出來。
      Button :btnRun
      Textbox :TbConsole
    2. 運用DriveInfo:
      private void showDisk()
      {
          DriveInfo[] allDrives = DriveInfo.GetDrives();
      
          foreach (DriveInfo driveInfo in allDrives)
          {
              if (driveInfo.IsReady)
              {
                  long totalSizeInBytes = driveInfo.TotalSize;
                  long availableSpaceInBytes = driveInfo.AvailableFreeSpace;
                  long totalFreeSpaceInBytes = driveInfo.TotalFreeSpace;
      
                  // 將位元組轉換為其他單位,例如GB
                  double totalSizeInGB = ConvertBytesToGB(totalSizeInBytes);
                  double availableSpaceInGB = ConvertBytesToGB(availableSpaceInBytes);
                  double totalFreeSpaceInGB = ConvertBytesToGB(totalFreeSpaceInBytes);
                  TbConsole.AppendText($"磁碟({driveInfo.Name}):" + Environment.NewLine);
                  TbConsole.AppendText($"總大小: {totalSizeInGB} GB" + Environment.NewLine);
                  TbConsole.AppendText($"可用空間: {availableSpaceInGB} GB" + Environment.NewLine);
                  TbConsole.AppendText($"總剩餘空間: {totalFreeSpaceInGB} GB" + Environment.NewLine);
      
                  Console.WriteLine();
              }
          }
      }
      double ConvertBytesToGB(long bytes)
      {
          return bytes / (1024.0 * 1024.0 * 1024.0);
      }
      private void btnRun_Click(object sender, EventArgs e)
      {
          showDisk();
      }
      
  • 程式執行結果:
      https://ithelp.ithome.com.tw/upload/images/20231011/20163217PCddCoCBB5.png

參考來源

  1. ChatGPT
  2. C#最強入門邁向頂尖高手之路王者歸來
  3. w3schools C#
  4. 圖解資料結構 × 演算法:運用C#

期望挑戰30天持續更新成功 ~ DAY28


上一篇
[DAY27] C#基礎與實作(WinForms開發-實作練習-檔案複製分類)
下一篇
[DAY29] C#基礎與實作(DLL)
系列文
C# 學習之路31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言